Typical computer systems include main memory to store programs (sequences of instructions) or data (e.g. program state information). Such main memory is usually volatile, meaning that it requires power to maintain the stored information. For example, a typical type of volatile memory is dynamic random access memory (DRAM). The data stored in main memory is usually accessed by using a memory address.